
import java.util.Arrays;

public class BinarySearch {
    //基础版
    //数组a表示待查找的一个升序数组
    //target表示需要查找的一个值
    public static int binarySearchBasic(int[] a, int target) {
        //设置指针和初值
        int i = 0;
        int j = a.length - 1;
        //判断i和j的位置关系
        while (i <= j) {//代表范围内还有东西
            int m = (i + j) >>> 1;//int类型的除法，会自动取整，即省去小数
            if (target < a[m]) {//目标小于中间值
                j = m - 1;
            } else if (target > a[m]) {//目标大于中间值
                i = m + 1;
            } else {
                return m;
            }
        }
        return -1;
    }







}
